page {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

.flex {
  display: flex;
}

.column {
  flex-direction: column;
}

.row {
  flex-direction: row;
}

.flex1 {
  flex: 1;
}

.justify-center {
  justify-content: center;
}

.justify-end {
  justify-content: flex-end;
}

.justify-between {
  justify-content: space-between;
}

.justify-around {
  justify-content: space-around;
}

.items-center {
  align-items: center;
}

.items-end {
  align-items: end;
}

.align-center {
  align-content: center;
}

.align-between {
  align-content: space-between;
}

.align-around {
  align-content: space-around;
}

.flex-wrap {
  flex-wrap: wrap;
}

.flex-reverse {
  flex-direction: row-reverse;
}

.relative {
  position: relative;
}

.absolute {
  position: absolute;
}

.fixed {
  position: fixed;
}

.tl {
  text-align: left;
}

.tc {
  text-align: center;
}

.tr {
  text-align: right;
}

.bold {
  font-weight: bold;
}

.middle {
  vertical-align: middle;
}

.w100 {
  width: 100%;
}

.h100 {
  height: 100%;
}

.bg-white {
  background: #ffffff;
}

.ellipsis-1 {
  display: -webkit-box;
  overflow: hidden;
  -webkit-line-clamp: 1;
  text-overflow: ellipsis;
  -webkit-box-orient: vertical;
}

.ellipsis-2 {
  display: -webkit-box;
  overflow: hidden;
  -webkit-line-clamp: 2;
  text-overflow: ellipsis;
  -webkit-box-orient: vertical;
}

.ellipsis-3 {
  display: -webkit-box;
  overflow: hidden;
  -webkit-line-clamp: 3;
  text-overflow: ellipsis;
  -webkit-box-orient: vertical;
}

.ellipsis-4 {
  display: -webkit-box;
  overflow: hidden;
  -webkit-line-clamp: 4;
  text-overflow: ellipsis;
  -webkit-box-orient: vertical;
}

.ellipsis-8 {
  display: -webkit-box;
  overflow: hidden;
  -webkit-line-clamp: 8;
  text-overflow: ellipsis;
  -webkit-box-orient: vertical;
}